package com.xuecheng.api.content;

import com.xuecheng.api.content.model.dto.TeachplanDTO;
import com.xuecheng.api.content.model.dto.TeachplanMediaDTO;
import com.xuecheng.api.content.model.vo.BindTeachplanMediaVO;
import com.xuecheng.api.content.model.vo.TeachplanVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

/**
 * <p></p>
 *
 * @Description:
 */
@Api(value = "课程计划api",tags = "课程计划api信息管理接口说明")
public interface TeachplanApi {

    @ApiOperation("查询课程计划树形结构")
    @ApiImplicitParam(value = "courseId",name = "课程基础Id值",required = true,dataType = "Long",paramType = "path")
    TeachplanDTO getTreeNodes(Long courseId);

    @ApiOperation("课程计划创建和修改")
    TeachplanDTO createOrModifyTeachplan(TeachplanVO vo);

    @ApiOperation(value = "删除课程计划")
    @ApiImplicitParam(name = "teachPlanId" ,
            value = "课程计划Id值",required = true,
            dataType = "Long", paramType = "path", example = "1")
    void removeTeachPlan(Long teachPlanId);


    @ApiOperation(value = "课程计划和媒资信息绑定")
    TeachplanMediaDTO associationMedia(BindTeachplanMediaVO mediaVO);

}
